﻿using System;

namespace Common.Date
{
    /// <summary>
    /// Datenhaltungsklasse für Feiertage
     /// </summary>
    public class Hollydays : IComparable<Hollydays>
    {
        #region Member
        private bool isFix;
        private DateTime datum;
        private string name;
        #endregion

        #region Properties
        /// <summary>
        /// Name des Feiertags 
        /// </summary>
        public string Name
        {
            get
            {
                return name;
            }
            set
            {
                name = value;
            }
        }


        /// <summary>
        /// Datum des Feiertags 
        /// </summary>
        public DateTime Datum
        {
            get
            {
                return datum;
            }
            set
            {
                datum = value;
            }
        }


        /// <summary>
        /// Ist es ein fester Feier tag 
        /// </summary>
        public bool IsFix
        {
            get
            {
                return isFix;
            }
            set
            {
                isFix = value;
            }
        }
        #endregion

        #region Konstruktor
        /// <summary>
        /// Initialisieren eines Feiertags
        /// </summary>
        /// <param name="isFix">angeben ob es sich um einen festen feiertag handelt</param>
        /// <param name="datum">Datum an dem der Feiertag ist</param>
        /// <param name="name">Name des Feiertags</param>
        public Hollydays(bool isFix, DateTime datum, string name)
        {
            this.IsFix = isFix;
            this.Datum = datum;
            this.Name = name;
        }
        #endregion

        #region IComparable<Feiertag> Member
        public int CompareTo(Hollydays other)
        {
            return this.datum.Date.CompareTo(other.datum.Date);
        }
        #endregion
    }
}